package reamodel.diagram.part;

import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.gmf.runtime.notation.View;

import reamodel.Commitment;
import reamodel.DecrementCommitment;
import reamodel.DecrementEconomicEvent;
import reamodel.DecrementEconomicEventType;
import reamodel.EconomicAgent;
import reamodel.EconomicAgentType;
import reamodel.EconomicEvent;
import reamodel.EconomicEventType;
import reamodel.EconomicResource;
import reamodel.EconomicResourceType;
import reamodel.IncrementCommitment;
import reamodel.IncrementEconomicEvent;
import reamodel.IncrementEconomicEventType;
import reamodel.Inflow;
import reamodel.InflowType;
import reamodel.Outflow;
import reamodel.OutflowType;
import reamodel.ProvideParticipation;
import reamodel.REAModel;
import reamodel.ReamodelPackage;
import reamodel.ReceiveParticipation;
import reamodel.diagram.edit.parts.CommitmentAgentEditPart;
import reamodel.diagram.edit.parts.CommitmentResourceEditPart;
import reamodel.diagram.edit.parts.DecrementCommitmentEditPart;
import reamodel.diagram.edit.parts.DecrementCommitmentFulfillEditPart;
import reamodel.diagram.edit.parts.DecrementCommitmentSpecifyEditPart;
import reamodel.diagram.edit.parts.DecrementEconomicEventEditPart;
import reamodel.diagram.edit.parts.DecrementEconomicEventTypeEditPart;
import reamodel.diagram.edit.parts.DecrementEconomicEventTypeTypifyEditPart;
import reamodel.diagram.edit.parts.EconomicAgentEditPart;
import reamodel.diagram.edit.parts.EconomicAgentTypeEditPart;
import reamodel.diagram.edit.parts.EconomicAgentTypeTypifyEditPart;
import reamodel.diagram.edit.parts.EconomicResourceEditPart;
import reamodel.diagram.edit.parts.EconomicResourceTypeEditPart;
import reamodel.diagram.edit.parts.EconomicResourceTypeTypifyEditPart;
import reamodel.diagram.edit.parts.IncrementCommitmentEditPart;
import reamodel.diagram.edit.parts.IncrementCommitmentFulfillEditPart;
import reamodel.diagram.edit.parts.IncrementCommitmentReciprocityEditPart;
import reamodel.diagram.edit.parts.IncrementCommitmentSpecifyEditPart;
import reamodel.diagram.edit.parts.IncrementEconomicEventDualityEditPart;
import reamodel.diagram.edit.parts.IncrementEconomicEventEditPart;
import reamodel.diagram.edit.parts.IncrementEconomicEventTypeDualityTypeEditPart;
import reamodel.diagram.edit.parts.IncrementEconomicEventTypeEditPart;
import reamodel.diagram.edit.parts.IncrementEconomicEventTypeTypifyEditPart;
import reamodel.diagram.edit.parts.InflowEditPart;
import reamodel.diagram.edit.parts.InflowTypeEditPart;
import reamodel.diagram.edit.parts.OutflowEditPart;
import reamodel.diagram.edit.parts.OutflowTypeEditPart;
import reamodel.diagram.edit.parts.ProvideParticipationEditPart;
import reamodel.diagram.edit.parts.REAModelEditPart;
import reamodel.diagram.edit.parts.ReceiveParticipationEditPart;
import reamodel.diagram.providers.REAmodelElementTypes;

/**
 * @generated
 */
public class REAmodelDiagramUpdater {

	/**
	 * @generated
	 */
	public static List getSemanticChildren(View view) {
		switch (REAmodelVisualIDRegistry.getVisualID(view)) {
		case REAModelEditPart.VISUAL_ID:
			return getREAModel_79SemanticChildren(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getREAModel_79SemanticChildren(View view) {
		if (!view.isSetElement()) {
			return Collections.EMPTY_LIST;
		}
		REAModel modelElement = (REAModel) view.getElement();
		List result = new LinkedList();
		for (Iterator it = modelElement.getResourceTypes().iterator(); it
				.hasNext();) {
			EconomicResourceType childElement = (EconomicResourceType) it
					.next();
			int visualID = REAmodelVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == EconomicResourceTypeEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator it = modelElement.getAgentTypes().iterator(); it
				.hasNext();) {
			EconomicAgentType childElement = (EconomicAgentType) it.next();
			int visualID = REAmodelVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == EconomicAgentTypeEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator it = modelElement.getEventTypes().iterator(); it
				.hasNext();) {
			EconomicEventType childElement = (EconomicEventType) it.next();
			int visualID = REAmodelVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == DecrementEconomicEventTypeEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
			if (visualID == IncrementEconomicEventTypeEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator it = modelElement.getAgents().iterator(); it.hasNext();) {
			EconomicAgent childElement = (EconomicAgent) it.next();
			int visualID = REAmodelVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == EconomicAgentEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator it = modelElement.getResources().iterator(); it.hasNext();) {
			EconomicResource childElement = (EconomicResource) it.next();
			int visualID = REAmodelVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == EconomicResourceEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator it = modelElement.getEvents().iterator(); it.hasNext();) {
			EconomicEvent childElement = (EconomicEvent) it.next();
			int visualID = REAmodelVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == DecrementEconomicEventEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
			if (visualID == IncrementEconomicEventEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator it = modelElement.getCommitments().iterator(); it
				.hasNext();) {
			Commitment childElement = (Commitment) it.next();
			int visualID = REAmodelVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == IncrementCommitmentEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
			if (visualID == DecrementCommitmentEditPart.VISUAL_ID) {
				result.add(new REAmodelNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List getContainedLinks(View view) {
		switch (REAmodelVisualIDRegistry.getVisualID(view)) {
		case REAModelEditPart.VISUAL_ID:
			return getREAModel_79ContainedLinks(view);
		case EconomicResourceTypeEditPart.VISUAL_ID:
			return getEconomicResourceType_1001ContainedLinks(view);
		case EconomicAgentTypeEditPart.VISUAL_ID:
			return getEconomicAgentType_1002ContainedLinks(view);
		case DecrementEconomicEventTypeEditPart.VISUAL_ID:
			return getDecrementEconomicEventType_1003ContainedLinks(view);
		case IncrementEconomicEventTypeEditPart.VISUAL_ID:
			return getIncrementEconomicEventType_1004ContainedLinks(view);
		case EconomicAgentEditPart.VISUAL_ID:
			return getEconomicAgent_1005ContainedLinks(view);
		case EconomicResourceEditPart.VISUAL_ID:
			return getEconomicResource_1006ContainedLinks(view);
		case DecrementEconomicEventEditPart.VISUAL_ID:
			return getDecrementEconomicEvent_1007ContainedLinks(view);
		case IncrementEconomicEventEditPart.VISUAL_ID:
			return getIncrementEconomicEvent_1008ContainedLinks(view);
		case IncrementCommitmentEditPart.VISUAL_ID:
			return getIncrementCommitment_1009ContainedLinks(view);
		case DecrementCommitmentEditPart.VISUAL_ID:
			return getDecrementCommitment_1010ContainedLinks(view);
		case OutflowEditPart.VISUAL_ID:
			return getOutflow_3002ContainedLinks(view);
		case InflowEditPart.VISUAL_ID:
			return getInflow_3003ContainedLinks(view);
		case OutflowTypeEditPart.VISUAL_ID:
			return getOutflowType_3006ContainedLinks(view);
		case InflowTypeEditPart.VISUAL_ID:
			return getInflowType_3007ContainedLinks(view);
		case ReceiveParticipationEditPart.VISUAL_ID:
			return getReceiveParticipation_3009ContainedLinks(view);
		case ProvideParticipationEditPart.VISUAL_ID:
			return getProvideParticipation_3010ContainedLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getIncomingLinks(View view) {
		switch (REAmodelVisualIDRegistry.getVisualID(view)) {
		case EconomicResourceTypeEditPart.VISUAL_ID:
			return getEconomicResourceType_1001IncomingLinks(view);
		case EconomicAgentTypeEditPart.VISUAL_ID:
			return getEconomicAgentType_1002IncomingLinks(view);
		case DecrementEconomicEventTypeEditPart.VISUAL_ID:
			return getDecrementEconomicEventType_1003IncomingLinks(view);
		case IncrementEconomicEventTypeEditPart.VISUAL_ID:
			return getIncrementEconomicEventType_1004IncomingLinks(view);
		case EconomicAgentEditPart.VISUAL_ID:
			return getEconomicAgent_1005IncomingLinks(view);
		case EconomicResourceEditPart.VISUAL_ID:
			return getEconomicResource_1006IncomingLinks(view);
		case DecrementEconomicEventEditPart.VISUAL_ID:
			return getDecrementEconomicEvent_1007IncomingLinks(view);
		case IncrementEconomicEventEditPart.VISUAL_ID:
			return getIncrementEconomicEvent_1008IncomingLinks(view);
		case IncrementCommitmentEditPart.VISUAL_ID:
			return getIncrementCommitment_1009IncomingLinks(view);
		case DecrementCommitmentEditPart.VISUAL_ID:
			return getDecrementCommitment_1010IncomingLinks(view);
		case OutflowEditPart.VISUAL_ID:
			return getOutflow_3002IncomingLinks(view);
		case InflowEditPart.VISUAL_ID:
			return getInflow_3003IncomingLinks(view);
		case OutflowTypeEditPart.VISUAL_ID:
			return getOutflowType_3006IncomingLinks(view);
		case InflowTypeEditPart.VISUAL_ID:
			return getInflowType_3007IncomingLinks(view);
		case ReceiveParticipationEditPart.VISUAL_ID:
			return getReceiveParticipation_3009IncomingLinks(view);
		case ProvideParticipationEditPart.VISUAL_ID:
			return getProvideParticipation_3010IncomingLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getOutgoingLinks(View view) {
		switch (REAmodelVisualIDRegistry.getVisualID(view)) {
		case EconomicResourceTypeEditPart.VISUAL_ID:
			return getEconomicResourceType_1001OutgoingLinks(view);
		case EconomicAgentTypeEditPart.VISUAL_ID:
			return getEconomicAgentType_1002OutgoingLinks(view);
		case DecrementEconomicEventTypeEditPart.VISUAL_ID:
			return getDecrementEconomicEventType_1003OutgoingLinks(view);
		case IncrementEconomicEventTypeEditPart.VISUAL_ID:
			return getIncrementEconomicEventType_1004OutgoingLinks(view);
		case EconomicAgentEditPart.VISUAL_ID:
			return getEconomicAgent_1005OutgoingLinks(view);
		case EconomicResourceEditPart.VISUAL_ID:
			return getEconomicResource_1006OutgoingLinks(view);
		case DecrementEconomicEventEditPart.VISUAL_ID:
			return getDecrementEconomicEvent_1007OutgoingLinks(view);
		case IncrementEconomicEventEditPart.VISUAL_ID:
			return getIncrementEconomicEvent_1008OutgoingLinks(view);
		case IncrementCommitmentEditPart.VISUAL_ID:
			return getIncrementCommitment_1009OutgoingLinks(view);
		case DecrementCommitmentEditPart.VISUAL_ID:
			return getDecrementCommitment_1010OutgoingLinks(view);
		case OutflowEditPart.VISUAL_ID:
			return getOutflow_3002OutgoingLinks(view);
		case InflowEditPart.VISUAL_ID:
			return getInflow_3003OutgoingLinks(view);
		case OutflowTypeEditPart.VISUAL_ID:
			return getOutflowType_3006OutgoingLinks(view);
		case InflowTypeEditPart.VISUAL_ID:
			return getInflowType_3007OutgoingLinks(view);
		case ReceiveParticipationEditPart.VISUAL_ID:
			return getReceiveParticipation_3009OutgoingLinks(view);
		case ProvideParticipationEditPart.VISUAL_ID:
			return getProvideParticipation_3010OutgoingLinks(view);
		}
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getREAModel_79ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getEconomicResourceType_1001ContainedLinks(View view) {
		EconomicResourceType modelElement = (EconomicResourceType) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_EconomicResourceType_Typify_3001(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicAgentType_1002ContainedLinks(View view) {
		EconomicAgentType modelElement = (EconomicAgentType) view.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_EconomicAgentType_Typify_3008(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getDecrementEconomicEventType_1003ContainedLinks(
			View view) {
		DecrementEconomicEventType modelElement = (DecrementEconomicEventType) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_DecrementEconomicEventType_Typify_3004(modelElement));
		result
				.addAll(getContainedTypeModelFacetLinks_OutflowType_3006(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementEconomicEventType_1004ContainedLinks(
			View view) {
		IncrementEconomicEventType modelElement = (IncrementEconomicEventType) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementEconomicEventType_Typify_3005(modelElement));
		result
				.addAll(getContainedTypeModelFacetLinks_InflowType_3007(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementEconomicEventType_DualityType_3012(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicAgent_1005ContainedLinks(View view) {
		EconomicAgent modelElement = (EconomicAgent) view.getElement();
		List result = new LinkedList();
		result
				.addAll(getContainedTypeModelFacetLinks_ReceiveParticipation_3009(modelElement));
		result
				.addAll(getContainedTypeModelFacetLinks_ProvideParticipation_3010(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicResource_1006ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getDecrementEconomicEvent_1007ContainedLinks(View view) {
		DecrementEconomicEvent modelElement = (DecrementEconomicEvent) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getContainedTypeModelFacetLinks_Outflow_3002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementEconomicEvent_1008ContainedLinks(View view) {
		IncrementEconomicEvent modelElement = (IncrementEconomicEvent) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getContainedTypeModelFacetLinks_Inflow_3003(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementEconomicEvent_Duality_3011(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementCommitment_1009ContainedLinks(View view) {
		IncrementCommitment modelElement = (IncrementCommitment) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_Commitment_Agent_3013(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_Commitment_Resource_3014(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementCommitment_Fulfill_3015(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementCommitment_Reciprocity_3017(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementCommitment_Specify_3019(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getDecrementCommitment_1010ContainedLinks(View view) {
		DecrementCommitment modelElement = (DecrementCommitment) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_Commitment_Agent_3013(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_Commitment_Resource_3014(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_DecrementCommitment_Fulfill_3016(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_DecrementCommitment_Specify_3018(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getOutflow_3002ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getInflow_3003ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getOutflowType_3006ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getInflowType_3007ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getReceiveParticipation_3009ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getProvideParticipation_3010ContainedLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getEconomicResourceType_1001IncomingLinks(View view) {
		EconomicResourceType modelElement = (EconomicResourceType) view
				.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result.addAll(getIncomingTypeModelFacetLinks_OutflowType_3006(
				modelElement, crossReferences));
		result.addAll(getIncomingTypeModelFacetLinks_InflowType_3007(
				modelElement, crossReferences));
		result
				.addAll(getIncomingFeatureModelFacetLinks_Commitment_Resource_3014(
						modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicAgentType_1002IncomingLinks(View view) {
		EconomicAgentType modelElement = (EconomicAgentType) view.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result.addAll(getIncomingFeatureModelFacetLinks_Commitment_Agent_3013(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getDecrementEconomicEventType_1003IncomingLinks(View view) {
		DecrementEconomicEventType modelElement = (DecrementEconomicEventType) view
				.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result
				.addAll(getIncomingFeatureModelFacetLinks_IncrementEconomicEventType_DualityType_3012(
						modelElement, crossReferences));
		result
				.addAll(getIncomingFeatureModelFacetLinks_DecrementCommitment_Specify_3018(
						modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementEconomicEventType_1004IncomingLinks(View view) {
		IncrementEconomicEventType modelElement = (IncrementEconomicEventType) view
				.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result
				.addAll(getIncomingFeatureModelFacetLinks_IncrementCommitment_Specify_3019(
						modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicAgent_1005IncomingLinks(View view) {
		EconomicAgent modelElement = (EconomicAgent) view.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result
				.addAll(getIncomingFeatureModelFacetLinks_EconomicAgentType_Typify_3008(
						modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicResource_1006IncomingLinks(View view) {
		EconomicResource modelElement = (EconomicResource) view.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result
				.addAll(getIncomingFeatureModelFacetLinks_EconomicResourceType_Typify_3001(
						modelElement, crossReferences));
		result.addAll(getIncomingTypeModelFacetLinks_Outflow_3002(modelElement,
				crossReferences));
		result.addAll(getIncomingTypeModelFacetLinks_Inflow_3003(modelElement,
				crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getDecrementEconomicEvent_1007IncomingLinks(View view) {
		DecrementEconomicEvent modelElement = (DecrementEconomicEvent) view
				.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result
				.addAll(getIncomingFeatureModelFacetLinks_DecrementEconomicEventType_Typify_3004(
						modelElement, crossReferences));
		result.addAll(getIncomingTypeModelFacetLinks_ReceiveParticipation_3009(
				modelElement, crossReferences));
		result.addAll(getIncomingTypeModelFacetLinks_ProvideParticipation_3010(
				modelElement, crossReferences));
		result
				.addAll(getIncomingFeatureModelFacetLinks_IncrementEconomicEvent_Duality_3011(
						modelElement, crossReferences));
		result
				.addAll(getIncomingFeatureModelFacetLinks_DecrementCommitment_Fulfill_3016(
						modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementEconomicEvent_1008IncomingLinks(View view) {
		IncrementEconomicEvent modelElement = (IncrementEconomicEvent) view
				.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result
				.addAll(getIncomingFeatureModelFacetLinks_IncrementEconomicEventType_Typify_3005(
						modelElement, crossReferences));
		result.addAll(getIncomingTypeModelFacetLinks_ReceiveParticipation_3009(
				modelElement, crossReferences));
		result.addAll(getIncomingTypeModelFacetLinks_ProvideParticipation_3010(
				modelElement, crossReferences));
		result
				.addAll(getIncomingFeatureModelFacetLinks_IncrementCommitment_Fulfill_3015(
						modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementCommitment_1009IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getDecrementCommitment_1010IncomingLinks(View view) {
		DecrementCommitment modelElement = (DecrementCommitment) view
				.getElement();
		Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource()
				.getResourceSet().getResources());
		List result = new LinkedList();
		result
				.addAll(getIncomingFeatureModelFacetLinks_IncrementCommitment_Reciprocity_3017(
						modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getOutflow_3002IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getInflow_3003IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getOutflowType_3006IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getInflowType_3007IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getReceiveParticipation_3009IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getProvideParticipation_3010IncomingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getEconomicResourceType_1001OutgoingLinks(View view) {
		EconomicResourceType modelElement = (EconomicResourceType) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_EconomicResourceType_Typify_3001(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicAgentType_1002OutgoingLinks(View view) {
		EconomicAgentType modelElement = (EconomicAgentType) view.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_EconomicAgentType_Typify_3008(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getDecrementEconomicEventType_1003OutgoingLinks(View view) {
		DecrementEconomicEventType modelElement = (DecrementEconomicEventType) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_DecrementEconomicEventType_Typify_3004(modelElement));
		result
				.addAll(getOutgoingTypeModelFacetLinks_OutflowType_3006(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementEconomicEventType_1004OutgoingLinks(View view) {
		IncrementEconomicEventType modelElement = (IncrementEconomicEventType) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementEconomicEventType_Typify_3005(modelElement));
		result
				.addAll(getOutgoingTypeModelFacetLinks_InflowType_3007(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementEconomicEventType_DualityType_3012(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicAgent_1005OutgoingLinks(View view) {
		EconomicAgent modelElement = (EconomicAgent) view.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingTypeModelFacetLinks_ReceiveParticipation_3009(modelElement));
		result
				.addAll(getOutgoingTypeModelFacetLinks_ProvideParticipation_3010(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getEconomicResource_1006OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getDecrementEconomicEvent_1007OutgoingLinks(View view) {
		DecrementEconomicEvent modelElement = (DecrementEconomicEvent) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingTypeModelFacetLinks_Outflow_3002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementEconomicEvent_1008OutgoingLinks(View view) {
		IncrementEconomicEvent modelElement = (IncrementEconomicEvent) view
				.getElement();
		List result = new LinkedList();
		result.addAll(getOutgoingTypeModelFacetLinks_Inflow_3003(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementEconomicEvent_Duality_3011(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getIncrementCommitment_1009OutgoingLinks(View view) {
		IncrementCommitment modelElement = (IncrementCommitment) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_Commitment_Agent_3013(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_Commitment_Resource_3014(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementCommitment_Fulfill_3015(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementCommitment_Reciprocity_3017(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_IncrementCommitment_Specify_3019(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getDecrementCommitment_1010OutgoingLinks(View view) {
		DecrementCommitment modelElement = (DecrementCommitment) view
				.getElement();
		List result = new LinkedList();
		result
				.addAll(getOutgoingFeatureModelFacetLinks_Commitment_Agent_3013(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_Commitment_Resource_3014(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_DecrementCommitment_Fulfill_3016(modelElement));
		result
				.addAll(getOutgoingFeatureModelFacetLinks_DecrementCommitment_Specify_3018(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List getOutflow_3002OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getInflow_3003OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getOutflowType_3006OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getInflowType_3007OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getReceiveParticipation_3009OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	public static List getProvideParticipation_3010OutgoingLinks(View view) {
		return Collections.EMPTY_LIST;
	}

	/**
	 * @generated
	 */
	private static Collection getContainedTypeModelFacetLinks_Outflow_3002(
			DecrementEconomicEvent container) {
		Collection result = new LinkedList();
		for (Iterator links = container.getOutflow().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof Outflow) {
				continue;
			}
			Outflow link = (Outflow) linkObject;
			if (OutflowEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicResource dst = link.getResource();
			DecrementEconomicEvent src = link.getEvent();
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.Outflow_3002,
					OutflowEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getContainedTypeModelFacetLinks_Inflow_3003(
			IncrementEconomicEvent container) {
		Collection result = new LinkedList();
		for (Iterator links = container.getInflow().iterator(); links.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof Inflow) {
				continue;
			}
			Inflow link = (Inflow) linkObject;
			if (InflowEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicResource dst = link.getResource();
			IncrementEconomicEvent src = link.getEvent();
			result
					.add(new REAmodelLinkDescriptor(src, dst, link,
							REAmodelElementTypes.Inflow_3003,
							InflowEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getContainedTypeModelFacetLinks_OutflowType_3006(
			DecrementEconomicEventType container) {
		Collection result = new LinkedList();
		for (Iterator links = container.getOutflowType().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof OutflowType) {
				continue;
			}
			OutflowType link = (OutflowType) linkObject;
			if (OutflowTypeEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicResourceType dst = link.getResourceType();
			DecrementEconomicEventType src = link.getEventType();
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.OutflowType_3006,
					OutflowTypeEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getContainedTypeModelFacetLinks_InflowType_3007(
			IncrementEconomicEventType container) {
		Collection result = new LinkedList();
		for (Iterator links = container.getInflowType().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof InflowType) {
				continue;
			}
			InflowType link = (InflowType) linkObject;
			if (InflowTypeEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicResourceType dst = link.getResourceType();
			IncrementEconomicEventType src = link.getEventType();
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.InflowType_3007,
					InflowTypeEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getContainedTypeModelFacetLinks_ReceiveParticipation_3009(
			EconomicAgent container) {
		Collection result = new LinkedList();
		for (Iterator links = container.getReceives().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof ReceiveParticipation) {
				continue;
			}
			ReceiveParticipation link = (ReceiveParticipation) linkObject;
			if (ReceiveParticipationEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicEvent dst = link.getEvent();
			EconomicAgent src = link.getAgent();
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.ReceiveParticipation_3009,
					ReceiveParticipationEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getContainedTypeModelFacetLinks_ProvideParticipation_3010(
			EconomicAgent container) {
		Collection result = new LinkedList();
		for (Iterator links = container.getProvides().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof ProvideParticipation) {
				continue;
			}
			ProvideParticipation link = (ProvideParticipation) linkObject;
			if (ProvideParticipationEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicEvent dst = link.getEvent();
			EconomicAgent src = link.getAgent();
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.ProvideParticipation_3010,
					ProvideParticipationEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_EconomicResourceType_Typify_3001(
			EconomicResource target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getEconomicResourceType_Typify()) {
				result.add(new REAmodelLinkDescriptor(setting.getEObject(),
						target,
						REAmodelElementTypes.EconomicResourceTypeTypify_3001,
						EconomicResourceTypeTypifyEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingTypeModelFacetLinks_Outflow_3002(
			EconomicResource target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() != ReamodelPackage.eINSTANCE
					.getOutflow_Resource()
					|| false == setting.getEObject() instanceof Outflow) {
				continue;
			}
			Outflow link = (Outflow) setting.getEObject();
			if (OutflowEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			DecrementEconomicEvent src = link.getEvent();
			result.add(new REAmodelLinkDescriptor(src, target, link,
					REAmodelElementTypes.Outflow_3002,
					OutflowEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingTypeModelFacetLinks_Inflow_3003(
			EconomicResource target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() != ReamodelPackage.eINSTANCE
					.getInflow_Resource()
					|| false == setting.getEObject() instanceof Inflow) {
				continue;
			}
			Inflow link = (Inflow) setting.getEObject();
			if (InflowEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			IncrementEconomicEvent src = link.getEvent();
			result
					.add(new REAmodelLinkDescriptor(src, target, link,
							REAmodelElementTypes.Inflow_3003,
							InflowEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_DecrementEconomicEventType_Typify_3004(
			DecrementEconomicEvent target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getDecrementEconomicEventType_Typify()) {
				result
						.add(new REAmodelLinkDescriptor(
								setting.getEObject(),
								target,
								REAmodelElementTypes.DecrementEconomicEventTypeTypify_3004,
								DecrementEconomicEventTypeTypifyEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_IncrementEconomicEventType_Typify_3005(
			IncrementEconomicEvent target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getIncrementEconomicEventType_Typify()) {
				result
						.add(new REAmodelLinkDescriptor(
								setting.getEObject(),
								target,
								REAmodelElementTypes.IncrementEconomicEventTypeTypify_3005,
								IncrementEconomicEventTypeTypifyEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingTypeModelFacetLinks_OutflowType_3006(
			EconomicResourceType target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() != ReamodelPackage.eINSTANCE
					.getOutflowType_ResourceType()
					|| false == setting.getEObject() instanceof OutflowType) {
				continue;
			}
			OutflowType link = (OutflowType) setting.getEObject();
			if (OutflowTypeEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			DecrementEconomicEventType src = link.getEventType();
			result.add(new REAmodelLinkDescriptor(src, target, link,
					REAmodelElementTypes.OutflowType_3006,
					OutflowTypeEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingTypeModelFacetLinks_InflowType_3007(
			EconomicResourceType target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() != ReamodelPackage.eINSTANCE
					.getInflowType_ResourceType()
					|| false == setting.getEObject() instanceof InflowType) {
				continue;
			}
			InflowType link = (InflowType) setting.getEObject();
			if (InflowTypeEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			IncrementEconomicEventType src = link.getEventType();
			result.add(new REAmodelLinkDescriptor(src, target, link,
					REAmodelElementTypes.InflowType_3007,
					InflowTypeEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_EconomicAgentType_Typify_3008(
			EconomicAgent target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getEconomicAgentType_Typify()) {
				result.add(new REAmodelLinkDescriptor(setting.getEObject(),
						target,
						REAmodelElementTypes.EconomicAgentTypeTypify_3008,
						EconomicAgentTypeTypifyEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingTypeModelFacetLinks_ReceiveParticipation_3009(
			EconomicEvent target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() != ReamodelPackage.eINSTANCE
					.getReceiveParticipation_Event()
					|| false == setting.getEObject() instanceof ReceiveParticipation) {
				continue;
			}
			ReceiveParticipation link = (ReceiveParticipation) setting
					.getEObject();
			if (ReceiveParticipationEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicAgent src = link.getAgent();
			result.add(new REAmodelLinkDescriptor(src, target, link,
					REAmodelElementTypes.ReceiveParticipation_3009,
					ReceiveParticipationEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingTypeModelFacetLinks_ProvideParticipation_3010(
			EconomicEvent target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() != ReamodelPackage.eINSTANCE
					.getProvideParticipation_Event()
					|| false == setting.getEObject() instanceof ProvideParticipation) {
				continue;
			}
			ProvideParticipation link = (ProvideParticipation) setting
					.getEObject();
			if (ProvideParticipationEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicAgent src = link.getAgent();
			result.add(new REAmodelLinkDescriptor(src, target, link,
					REAmodelElementTypes.ProvideParticipation_3010,
					ProvideParticipationEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_IncrementEconomicEvent_Duality_3011(
			DecrementEconomicEvent target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getIncrementEconomicEvent_Duality()) {
				result
						.add(new REAmodelLinkDescriptor(
								setting.getEObject(),
								target,
								REAmodelElementTypes.IncrementEconomicEventDuality_3011,
								IncrementEconomicEventDualityEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_IncrementEconomicEventType_DualityType_3012(
			DecrementEconomicEventType target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getIncrementEconomicEventType_DualityType()) {
				result
						.add(new REAmodelLinkDescriptor(
								setting.getEObject(),
								target,
								REAmodelElementTypes.IncrementEconomicEventTypeDualityType_3012,
								IncrementEconomicEventTypeDualityTypeEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_Commitment_Agent_3013(
			EconomicAgentType target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getCommitment_Agent()) {
				result.add(new REAmodelLinkDescriptor(setting.getEObject(),
						target, REAmodelElementTypes.CommitmentAgent_3013,
						CommitmentAgentEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_Commitment_Resource_3014(
			EconomicResourceType target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getCommitment_Resource()) {
				result.add(new REAmodelLinkDescriptor(setting.getEObject(),
						target, REAmodelElementTypes.CommitmentResource_3014,
						CommitmentResourceEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_IncrementCommitment_Fulfill_3015(
			IncrementEconomicEvent target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getIncrementCommitment_Fulfill()) {
				result.add(new REAmodelLinkDescriptor(setting.getEObject(),
						target,
						REAmodelElementTypes.IncrementCommitmentFulfill_3015,
						IncrementCommitmentFulfillEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_DecrementCommitment_Fulfill_3016(
			DecrementEconomicEvent target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getDecrementCommitment_Fulfill()) {
				result.add(new REAmodelLinkDescriptor(setting.getEObject(),
						target,
						REAmodelElementTypes.DecrementCommitmentFulfill_3016,
						DecrementCommitmentFulfillEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_IncrementCommitment_Reciprocity_3017(
			DecrementCommitment target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getIncrementCommitment_Reciprocity()) {
				result
						.add(new REAmodelLinkDescriptor(
								setting.getEObject(),
								target,
								REAmodelElementTypes.IncrementCommitmentReciprocity_3017,
								IncrementCommitmentReciprocityEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_DecrementCommitment_Specify_3018(
			DecrementEconomicEventType target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getDecrementCommitment_Specify()) {
				result.add(new REAmodelLinkDescriptor(setting.getEObject(),
						target,
						REAmodelElementTypes.DecrementCommitmentSpecify_3018,
						DecrementCommitmentSpecifyEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getIncomingFeatureModelFacetLinks_IncrementCommitment_Specify_3019(
			IncrementEconomicEventType target, Map crossReferences) {
		Collection result = new LinkedList();
		Collection settings = (Collection) crossReferences.get(target);
		for (Iterator it = settings.iterator(); it.hasNext();) {
			EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it
					.next();
			if (setting.getEStructuralFeature() == ReamodelPackage.eINSTANCE
					.getIncrementCommitment_Specify()) {
				result.add(new REAmodelLinkDescriptor(setting.getEObject(),
						target,
						REAmodelElementTypes.IncrementCommitmentSpecify_3019,
						IncrementCommitmentSpecifyEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_EconomicResourceType_Typify_3001(
			EconomicResourceType source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getTypify().iterator(); destinations
				.hasNext();) {
			EconomicResource destination = (EconomicResource) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.EconomicResourceTypeTypify_3001,
					EconomicResourceTypeTypifyEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingTypeModelFacetLinks_Outflow_3002(
			DecrementEconomicEvent source) {
		DecrementEconomicEvent container = null;
		// Find container element for the link.
		// Climb up by containment hierarchy starting from the source
		// and return the first element that is instance of the container class.
		for (EObject element = source; element != null && container == null; element = element
				.eContainer()) {
			if (element instanceof DecrementEconomicEvent) {
				container = (DecrementEconomicEvent) element;
			}
		}
		if (container == null) {
			return Collections.EMPTY_LIST;
		}
		Collection result = new LinkedList();
		for (Iterator links = container.getOutflow().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof Outflow) {
				continue;
			}
			Outflow link = (Outflow) linkObject;
			if (OutflowEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicResource dst = link.getResource();
			DecrementEconomicEvent src = link.getEvent();
			if (src != source) {
				continue;
			}
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.Outflow_3002,
					OutflowEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingTypeModelFacetLinks_Inflow_3003(
			IncrementEconomicEvent source) {
		IncrementEconomicEvent container = null;
		// Find container element for the link.
		// Climb up by containment hierarchy starting from the source
		// and return the first element that is instance of the container class.
		for (EObject element = source; element != null && container == null; element = element
				.eContainer()) {
			if (element instanceof IncrementEconomicEvent) {
				container = (IncrementEconomicEvent) element;
			}
		}
		if (container == null) {
			return Collections.EMPTY_LIST;
		}
		Collection result = new LinkedList();
		for (Iterator links = container.getInflow().iterator(); links.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof Inflow) {
				continue;
			}
			Inflow link = (Inflow) linkObject;
			if (InflowEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicResource dst = link.getResource();
			IncrementEconomicEvent src = link.getEvent();
			if (src != source) {
				continue;
			}
			result
					.add(new REAmodelLinkDescriptor(src, dst, link,
							REAmodelElementTypes.Inflow_3003,
							InflowEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_DecrementEconomicEventType_Typify_3004(
			DecrementEconomicEventType source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getTypify().iterator(); destinations
				.hasNext();) {
			DecrementEconomicEvent destination = (DecrementEconomicEvent) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.DecrementEconomicEventTypeTypify_3004,
					DecrementEconomicEventTypeTypifyEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_IncrementEconomicEventType_Typify_3005(
			IncrementEconomicEventType source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getTypify().iterator(); destinations
				.hasNext();) {
			IncrementEconomicEvent destination = (IncrementEconomicEvent) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.IncrementEconomicEventTypeTypify_3005,
					IncrementEconomicEventTypeTypifyEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingTypeModelFacetLinks_OutflowType_3006(
			DecrementEconomicEventType source) {
		DecrementEconomicEventType container = null;
		// Find container element for the link.
		// Climb up by containment hierarchy starting from the source
		// and return the first element that is instance of the container class.
		for (EObject element = source; element != null && container == null; element = element
				.eContainer()) {
			if (element instanceof DecrementEconomicEventType) {
				container = (DecrementEconomicEventType) element;
			}
		}
		if (container == null) {
			return Collections.EMPTY_LIST;
		}
		Collection result = new LinkedList();
		for (Iterator links = container.getOutflowType().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof OutflowType) {
				continue;
			}
			OutflowType link = (OutflowType) linkObject;
			if (OutflowTypeEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicResourceType dst = link.getResourceType();
			DecrementEconomicEventType src = link.getEventType();
			if (src != source) {
				continue;
			}
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.OutflowType_3006,
					OutflowTypeEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingTypeModelFacetLinks_InflowType_3007(
			IncrementEconomicEventType source) {
		IncrementEconomicEventType container = null;
		// Find container element for the link.
		// Climb up by containment hierarchy starting from the source
		// and return the first element that is instance of the container class.
		for (EObject element = source; element != null && container == null; element = element
				.eContainer()) {
			if (element instanceof IncrementEconomicEventType) {
				container = (IncrementEconomicEventType) element;
			}
		}
		if (container == null) {
			return Collections.EMPTY_LIST;
		}
		Collection result = new LinkedList();
		for (Iterator links = container.getInflowType().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof InflowType) {
				continue;
			}
			InflowType link = (InflowType) linkObject;
			if (InflowTypeEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicResourceType dst = link.getResourceType();
			IncrementEconomicEventType src = link.getEventType();
			if (src != source) {
				continue;
			}
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.InflowType_3007,
					InflowTypeEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_EconomicAgentType_Typify_3008(
			EconomicAgentType source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getTypify().iterator(); destinations
				.hasNext();) {
			EconomicAgent destination = (EconomicAgent) destinations.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.EconomicAgentTypeTypify_3008,
					EconomicAgentTypeTypifyEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingTypeModelFacetLinks_ReceiveParticipation_3009(
			EconomicAgent source) {
		EconomicAgent container = null;
		// Find container element for the link.
		// Climb up by containment hierarchy starting from the source
		// and return the first element that is instance of the container class.
		for (EObject element = source; element != null && container == null; element = element
				.eContainer()) {
			if (element instanceof EconomicAgent) {
				container = (EconomicAgent) element;
			}
		}
		if (container == null) {
			return Collections.EMPTY_LIST;
		}
		Collection result = new LinkedList();
		for (Iterator links = container.getReceives().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof ReceiveParticipation) {
				continue;
			}
			ReceiveParticipation link = (ReceiveParticipation) linkObject;
			if (ReceiveParticipationEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicEvent dst = link.getEvent();
			EconomicAgent src = link.getAgent();
			if (src != source) {
				continue;
			}
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.ReceiveParticipation_3009,
					ReceiveParticipationEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingTypeModelFacetLinks_ProvideParticipation_3010(
			EconomicAgent source) {
		EconomicAgent container = null;
		// Find container element for the link.
		// Climb up by containment hierarchy starting from the source
		// and return the first element that is instance of the container class.
		for (EObject element = source; element != null && container == null; element = element
				.eContainer()) {
			if (element instanceof EconomicAgent) {
				container = (EconomicAgent) element;
			}
		}
		if (container == null) {
			return Collections.EMPTY_LIST;
		}
		Collection result = new LinkedList();
		for (Iterator links = container.getProvides().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof ProvideParticipation) {
				continue;
			}
			ProvideParticipation link = (ProvideParticipation) linkObject;
			if (ProvideParticipationEditPart.VISUAL_ID != REAmodelVisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			EconomicEvent dst = link.getEvent();
			EconomicAgent src = link.getAgent();
			if (src != source) {
				continue;
			}
			result.add(new REAmodelLinkDescriptor(src, dst, link,
					REAmodelElementTypes.ProvideParticipation_3010,
					ProvideParticipationEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_IncrementEconomicEvent_Duality_3011(
			IncrementEconomicEvent source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getDuality().iterator(); destinations
				.hasNext();) {
			DecrementEconomicEvent destination = (DecrementEconomicEvent) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.IncrementEconomicEventDuality_3011,
					IncrementEconomicEventDualityEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_IncrementEconomicEventType_DualityType_3012(
			IncrementEconomicEventType source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getDualityType().iterator(); destinations
				.hasNext();) {
			DecrementEconomicEventType destination = (DecrementEconomicEventType) destinations
					.next();
			result
					.add(new REAmodelLinkDescriptor(
							source,
							destination,
							REAmodelElementTypes.IncrementEconomicEventTypeDualityType_3012,
							IncrementEconomicEventTypeDualityTypeEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_Commitment_Agent_3013(
			Commitment source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getAgent().iterator(); destinations
				.hasNext();) {
			EconomicAgentType destination = (EconomicAgentType) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.CommitmentAgent_3013,
					CommitmentAgentEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_Commitment_Resource_3014(
			Commitment source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getResource().iterator(); destinations
				.hasNext();) {
			EconomicResourceType destination = (EconomicResourceType) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.CommitmentResource_3014,
					CommitmentResourceEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_IncrementCommitment_Fulfill_3015(
			IncrementCommitment source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getFulfill().iterator(); destinations
				.hasNext();) {
			IncrementEconomicEvent destination = (IncrementEconomicEvent) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.IncrementCommitmentFulfill_3015,
					IncrementCommitmentFulfillEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_DecrementCommitment_Fulfill_3016(
			DecrementCommitment source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getFulfill().iterator(); destinations
				.hasNext();) {
			DecrementEconomicEvent destination = (DecrementEconomicEvent) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.DecrementCommitmentFulfill_3016,
					DecrementCommitmentFulfillEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_IncrementCommitment_Reciprocity_3017(
			IncrementCommitment source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getReciprocity().iterator(); destinations
				.hasNext();) {
			DecrementCommitment destination = (DecrementCommitment) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.IncrementCommitmentReciprocity_3017,
					IncrementCommitmentReciprocityEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_DecrementCommitment_Specify_3018(
			DecrementCommitment source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getSpecify().iterator(); destinations
				.hasNext();) {
			DecrementEconomicEventType destination = (DecrementEconomicEventType) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.DecrementCommitmentSpecify_3018,
					DecrementCommitmentSpecifyEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection getOutgoingFeatureModelFacetLinks_IncrementCommitment_Specify_3019(
			IncrementCommitment source) {
		Collection result = new LinkedList();
		for (Iterator destinations = source.getSpecify().iterator(); destinations
				.hasNext();) {
			IncrementEconomicEventType destination = (IncrementEconomicEventType) destinations
					.next();
			result.add(new REAmodelLinkDescriptor(source, destination,
					REAmodelElementTypes.IncrementCommitmentSpecify_3019,
					IncrementCommitmentSpecifyEditPart.VISUAL_ID));
		}
		return result;
	}

}
